| 
                
               | 
              
                
               | 
              
                @@ -14,6 +14,7 @@ from django_logit import logit 
               | 
            
            
            
              | 
                14
               | 
              
                14
               | 
              
                 from django_response import response 
               | 
            
            
            
              | 
                15
               | 
              
                15
               | 
              
                 from paginator import pagination 
               | 
            
            
            
              | 
                16
               | 
              
                16
               | 
              
                 from TimeConvert import TimeConvert as tc 
               | 
            
            
            
              | 
                
               | 
              
                17
               | 
              
                +from django.utils.timezone import utc 
               | 
            
            
            
              | 
                17
               | 
              
                18
               | 
              
                  
               | 
            
            
            
              | 
                18
               | 
              
                19
               | 
              
                 from account.models import UserInfo 
               | 
            
            
            
              | 
                19
               | 
              
                20
               | 
              
                 from integral.models import SaleclerkSubmitLogInfo 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -171,7 +172,17 @@ def query_usergoods(request): 
               | 
            
            
            
              | 
                171
               | 
              
                172
               | 
              
                 def query_userinfo(request): 
               | 
            
            
            
              | 
                172
               | 
              
                173
               | 
              
                     brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
               | 
            
            
            
              | 
                173
               | 
              
                174
               | 
              
                     admin_id = request.POST.get('admin_id', '')
               | 
            
            
            
              | 
                174
               | 
              
                
               | 
              
                -    phone = request.POST.get('phone', '')
               | 
            
            
            
              | 
                
               | 
              
                175
               | 
              
                +    query = request.POST.get('query', '')
               | 
            
            
            
              | 
                
               | 
              
                176
               | 
              
                +    level = request.POST.get('level', '')
               | 
            
            
            
              | 
                
               | 
              
                177
               | 
              
                +    is_member = request.POST.get('is_member', '')
               | 
            
            
            
              | 
                
               | 
              
                178
               | 
              
                +    code_version = request.POST.get('code_version', 0)
               | 
            
            
            
              | 
                
               | 
              
                179
               | 
              
                +    subscribe = request.POST.get('subscribe', '')
               | 
            
            
            
              | 
                
               | 
              
                180
               | 
              
                +    has_membercard = request.POST.get('has_membercard', '')
               | 
            
            
            
              | 
                
               | 
              
                181
               | 
              
                +    start_time = request.POST.get('start_time', '')
               | 
            
            
            
              | 
                
               | 
              
                182
               | 
              
                +    end_time = request.POST.get('end_time', '')
               | 
            
            
            
              | 
                
               | 
              
                183
               | 
              
                +    user_id = request.POST.get('user_id', '')
               | 
            
            
            
              | 
                
               | 
              
                184
               | 
              
                +    page = request.POST.get('page', 1)
               | 
            
            
            
              | 
                
               | 
              
                185
               | 
              
                +    num = request.POST.get('num', 20)
               | 
            
            
            
              | 
                175
               | 
              
                186
               | 
              
                  
               | 
            
            
            
              | 
                176
               | 
              
                187
               | 
              
                     if brand_id != settings.KODO_DEFAULT_BRAND_ID: 
               | 
            
            
            
              | 
                177
               | 
              
                188
               | 
              
                         return response(ProductBrandStatusCode.BRAND_NOT_MATCH) 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -181,11 +192,36 @@ def query_userinfo(request): 
               | 
            
            
            
              | 
                181
               | 
              
                192
               | 
              
                     except AdministratorInfo.DoesNotExist: 
               | 
            
            
            
              | 
                182
               | 
              
                193
               | 
              
                         return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) 
               | 
            
            
            
              | 
                183
               | 
              
                194
               | 
              
                  
               | 
            
            
            
              | 
                184
               | 
              
                
               | 
              
                -    userinfos = UserInfo.objects.filter(status=True, phone=phone).order_by('-created_at')
               | 
            
            
            
              | 
                
               | 
              
                195
               | 
              
                +    userinfos = UserInfo.objects.filter(Q(status=True) & Q(user_id__icontains=user_id) & (Q(nickname__icontains=query) | Q(phone__icontains=query))).order_by('-created_at')
               | 
            
            
            
              | 
                
               | 
              
                196
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                197
               | 
              
                +    if level != '': 
               | 
            
            
            
              | 
                
               | 
              
                198
               | 
              
                +        userinfos = userinfos.filter(level=level) 
               | 
            
            
            
              | 
                
               | 
              
                199
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                200
               | 
              
                +    if code_version != '': 
               | 
            
            
            
              | 
                
               | 
              
                201
               | 
              
                +        userinfos = userinfos.filter(code_version=code_version) 
               | 
            
            
            
              | 
                
               | 
              
                202
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                203
               | 
              
                +    if subscribe != '': 
               | 
            
            
            
              | 
                
               | 
              
                204
               | 
              
                +        userinfos = userinfos.filter(subscribe=subscribe) 
               | 
            
            
            
              | 
                
               | 
              
                205
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                206
               | 
              
                +    if has_membercard != '': 
               | 
            
            
            
              | 
                
               | 
              
                207
               | 
              
                +        userinfos = userinfos.filter(has_membercard=has_membercard) 
               | 
            
            
            
              | 
                
               | 
              
                208
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                209
               | 
              
                +    if is_member != '': 
               | 
            
            
            
              | 
                
               | 
              
                210
               | 
              
                +        userinfos = userinfos.filter(level__gte=1) 
               | 
            
            
            
              | 
                
               | 
              
                211
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                212
               | 
              
                +    if start_time != '' and end_time != '': 
               | 
            
            
            
              | 
                
               | 
              
                213
               | 
              
                +        ftime = datetime.strptime(start_time + ' 00:00:00', '%Y%m%d %H:%M:%S') 
               | 
            
            
            
              | 
                
               | 
              
                214
               | 
              
                +        ttime = datetime.strptime(end_time + ' 23:59:59', '%Y%m%d %H:%M:%S') 
               | 
            
            
            
              | 
                
               | 
              
                215
               | 
              
                +        userinfos = userinfos.filter(created_at__range=[ftime, ttime]) 
               | 
            
            
            
              | 
                
               | 
              
                216
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                217
               | 
              
                +    count = userinfos.count() 
               | 
            
            
            
              | 
                
               | 
              
                218
               | 
              
                +    userinfos, left = pagination(userinfos, page, num) 
               | 
            
            
            
              | 
                185
               | 
              
                219
               | 
              
                     userinfos = [userinfo.admindata for userinfo in userinfos] 
               | 
            
            
            
              | 
                186
               | 
              
                220
               | 
              
                  
               | 
            
            
            
              | 
                187
               | 
              
                221
               | 
              
                     return response(200, 'Userinfo Success', u'用户列表获取成功', data={
               | 
            
            
            
              | 
                188
               | 
              
                222
               | 
              
                         'userinfos': userinfos, 
               | 
            
            
            
              | 
                
               | 
              
                223
               | 
              
                +        'count': count, 
               | 
            
            
            
              | 
                
               | 
              
                224
               | 
              
                +        'left': left 
               | 
            
            
            
              | 
                189
               | 
              
                225
               | 
              
                     }) 
               | 
            
            
            
              | 
                190
               | 
              
                226
               | 
              
                  
               | 
            
            
            
              | 
                191
               | 
              
                227
               | 
              
                  
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -566,7 +602,8 @@ def record_consumer(request): 
               | 
            
            
            
              | 
                566
               | 
              
                602
               | 
              
                     start_time = request.POST.get('start_time', '')
               | 
            
            
            
              | 
                567
               | 
              
                603
               | 
              
                     end_time = request.POST.get('end_time', '')
               | 
            
            
            
              | 
                568
               | 
              
                604
               | 
              
                     query = request.POST.get('query', '')
               | 
            
            
            
              | 
                569
               | 
              
                
               | 
              
                -    dupload = request.POST.get('dupload', 0)
               | 
            
            
            
              | 
                
               | 
              
                605
               | 
              
                +    dupload = request.POST.get('dupload', '')
               | 
            
            
            
              | 
                
               | 
              
                606
               | 
              
                +    code_version = request.POST.get('code_version', 0)
               | 
            
            
            
              | 
                570
               | 
              
                607
               | 
              
                  
               | 
            
            
            
              | 
                571
               | 
              
                608
               | 
              
                     if brand_id != settings.KODO_DEFAULT_BRAND_ID: 
               | 
            
            
            
              | 
                572
               | 
              
                609
               | 
              
                         return response(ProductBrandStatusCode.BRAND_NOT_MATCH) 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -576,7 +613,16 @@ def record_consumer(request): 
               | 
            
            
            
              | 
                576
               | 
              
                613
               | 
              
                     except AdministratorInfo.DoesNotExist: 
               | 
            
            
            
              | 
                577
               | 
              
                614
               | 
              
                         return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) 
               | 
            
            
            
              | 
                578
               | 
              
                615
               | 
              
                      
               | 
            
            
            
              | 
                579
               | 
              
                
               | 
              
                -    logs = ConsumeInfoSubmitLogInfo.objects.filter(Q(status=True) & Q(ymd__gte=start_time) & Q(ymd__lte=end_time) & Q(test_user=False) & (Q(model_name__contains=query) | Q(phone__contains=query) | Q(serialNo__contains=query))).order_by('-created_at')
               | 
            
            
            
              | 
                
               | 
              
                616
               | 
              
                +    logs = ConsumeInfoSubmitLogInfo.objects.filter(Q(status=True) & Q(test_user=False) & (Q(model_name__icontains=query) | Q(phone__icontains=query) | Q(serialNo__icontains=query))).order_by('-created_at')
               | 
            
            
            
              | 
                
               | 
              
                617
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                618
               | 
              
                +    if dupload != '': 
               | 
            
            
            
              | 
                
               | 
              
                619
               | 
              
                +        logs = logs.filter(dupload=dupload) 
               | 
            
            
            
              | 
                
               | 
              
                620
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                621
               | 
              
                +    if code_version != '': 
               | 
            
            
            
              | 
                
               | 
              
                622
               | 
              
                +        logs = logs.filter(code_version=code_version) 
               | 
            
            
            
              | 
                
               | 
              
                623
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                624
               | 
              
                +    if start_time and end_time: 
               | 
            
            
            
              | 
                
               | 
              
                625
               | 
              
                +        logs = logs.filter(ymd__gte=start_time, ymd__lte=end_time) 
               | 
            
            
            
              | 
                580
               | 
              
                626
               | 
              
                  
               | 
            
            
            
              | 
                581
               | 
              
                627
               | 
              
                     count = logs.count() 
               | 
            
            
            
              | 
                582
               | 
              
                628
               | 
              
                     logs, left = pagination(logs, page, num) 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -596,6 +642,10 @@ def record_sale(request): 
               | 
            
            
            
              | 
                596
               | 
              
                642
               | 
              
                     start_time = request.POST.get('start_time', '')
               | 
            
            
            
              | 
                597
               | 
              
                643
               | 
              
                     end_time = request.POST.get('end_time', '')
               | 
            
            
            
              | 
                598
               | 
              
                644
               | 
              
                     query = request.POST.get('query', '')
               | 
            
            
            
              | 
                
               | 
              
                645
               | 
              
                +    dupload = request.POST.get('dupload', '')
               | 
            
            
            
              | 
                
               | 
              
                646
               | 
              
                +    has_scan = request.POST.get('has_scan', '')
               | 
            
            
            
              | 
                
               | 
              
                647
               | 
              
                +    code_version = request.POST.get('code_version', 0)
               | 
            
            
            
              | 
                
               | 
              
                648
               | 
              
                +    is_online_sale = request.POST.get('is_online_sale', '')
               | 
            
            
            
              | 
                599
               | 
              
                649
               | 
              
                  
               | 
            
            
            
              | 
                600
               | 
              
                650
               | 
              
                     if brand_id != settings.KODO_DEFAULT_BRAND_ID: 
               | 
            
            
            
              | 
                601
               | 
              
                651
               | 
              
                         return response(ProductBrandStatusCode.BRAND_NOT_MATCH) 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -605,7 +655,23 @@ def record_sale(request): 
               | 
            
            
            
              | 
                605
               | 
              
                655
               | 
              
                     except AdministratorInfo.DoesNotExist: 
               | 
            
            
            
              | 
                606
               | 
              
                656
               | 
              
                         return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) 
               | 
            
            
            
              | 
                607
               | 
              
                657
               | 
              
                      
               | 
            
            
            
              | 
                608
               | 
              
                
               | 
              
                -    logs = SaleclerkSubmitLogInfo.objects.filter(Q(status=True) & Q(ymd__gte=start_time) & Q(ymd__lte=end_time) & Q(test_user=False) & Q(test_sn=False) & (Q(model_name__contains=query) | Q(clerk_name__contains=query) | Q(distributor_name__contains=query)| Q(code__contains=query))).order_by('-created_at')
               | 
            
            
            
              | 
                
               | 
              
                658
               | 
              
                +    logs = SaleclerkSubmitLogInfo.objects.filter(Q(status=True) & Q(test_user=False) & Q(test_sn=False) & (Q(model_name__icontains=query) | Q(clerk_name__icontains=query) | Q(distributor_name__icontains=query)| Q(code__icontains=query))).order_by('-created_at')
               | 
            
            
            
              | 
                
               | 
              
                659
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                660
               | 
              
                +    if dupload != '': 
               | 
            
            
            
              | 
                
               | 
              
                661
               | 
              
                +        logs = logs.filter(dupload=dupload) 
               | 
            
            
            
              | 
                
               | 
              
                662
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                663
               | 
              
                +    if code_version: 
               | 
            
            
            
              | 
                
               | 
              
                664
               | 
              
                +        logs = logs.filter(code_version=code_version) 
               | 
            
            
            
              | 
                
               | 
              
                665
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                666
               | 
              
                +    if has_scan != '': 
               | 
            
            
            
              | 
                
               | 
              
                667
               | 
              
                +        logs = logs.filter(has_scan=has_scan) 
               | 
            
            
            
              | 
                
               | 
              
                668
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                669
               | 
              
                +    if start_time and end_time: 
               | 
            
            
            
              | 
                
               | 
              
                670
               | 
              
                +        logs = logs.filter(ymd__gte=start_time, ymd__lte=end_time) 
               | 
            
            
            
              | 
                
               | 
              
                671
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                672
               | 
              
                +    if is_online_sale != '': 
               | 
            
            
            
              | 
                
               | 
              
                673
               | 
              
                +        logs = logs.filter(remark=('扫描条形码' if is_online_sale else ''))
               | 
            
            
            
              | 
                
               | 
              
                674
               | 
              
                +     
               | 
            
            
            
              | 
                609
               | 
              
                675
               | 
              
                  
               | 
            
            
            
              | 
                610
               | 
              
                676
               | 
              
                     count = logs.count() 
               | 
            
            
            
              | 
                611
               | 
              
                677
               | 
              
                     logs, left = pagination(logs, page, num) 
               |